( ********************************************************************* File: ETSIPRI3.F Author: Dencom Inc. - www.dencom-inc.com Date: March 20, 1998 Description: This file contains the state machine for simulating either the user or network side of a connection. The user can transmit 1 setup or disc connect message, OR can transmit a load which will continuously setup and teardown calls. ********************************************************************* ) 0 STATE_INIT{ CLEAR_KEYS " SETUP" 1 LABEL_KEY " DISC" 2 LABEL_KEY " LOAD" 3 LABEL_KEY " STOP LOAD" 4 LABEL_KEY " TestKeys" SET_CURR_TOPIC }STATE_INIT 0 STATE{ M#SETUP ?L3_MSG ACTION{ I#CHANNEL_ID 1 ?L3_IE IF *DEC ->CID_NUMBER @ CHANNEL-NUMBER ! ELSE 0 CHANNEL-NUMBER ! ENDIF SEND_CALL_PROC SEND_ALERT SEND_CONN }ACTION UF1 ?KEY ACTION{ LOAD? @ 0= IF 1 SETUP? ! GET_CR_VALUE ENDIF }ACTION 101 ?TIMER ACTION{ GET_CHANNEL_NUMBER }ACTION 102 ?TIMER ACTION{ GET_CALLED_NUMBER }ACTION 103 ?TIMER ACTION{ GET_CALLING_NUMBER }ACTION 104 ?TIMER ACTION{ LOAD? @ IF " Continuously SETUP/TEARDOWN calls." W.NOTICE LOAD_SETUP ELSE " Send 1 SETUP message with the specified CR." W.NOTICE SEND_SETUP ENDIF }ACTION UF3 ?KEY ACTION{ 1 LOAD? ! GET_CALLED_NUMBER }ACTION UF4 ?KEY ACTION{ 0 LOAD? ! " Tearing down all calls." W.NOTICE LOAD_TEARDOWN }ACTION M#CALL_PROC ?L3_MSG ACTION{ }ACTION M#PROG ?L3_MSG ACTION{ }ACTION M#ALERT ?L3_MSG ACTION{ }ACTION M#CONN ?L3_MSG ACTION{ SEND_CONN_ACK LOAD? @ IF $MSG-CRVALUE @ CR-VALUE ! #ORIG CR-FLAG ! #NORMAL_CLEARING SEND_DISC ENDIF }ACTION M#CONN_ACK ?L3_MSG ACTION{ }ACTION M#DISC ?L3_MSG ACTION{ SEND_REL }ACTION UF2 ?KEY ACTION{ LOAD? @ 0= IF 0 SETUP? ! GET_CR_VALUE ENDIF }ACTION 105 ?TIMER ACTION{ GET_CR_FLAG }ACTION 106 ?TIMER ACTION{ #NORMAL_CLEARING " Send 1 DISC message with specified CR." W.NOTICE SEND_DISC }ACTION M#REL ?L3_MSG ACTION{ SEND_REL_COM LOAD? @ IF INCR_CALLED_NUMBER INCR_CALLING_NUMBER $MSG-CRVALUE @ DUP CR-VALUE ! DUP 16 < T1? @ OR IF CHANNEL-NUMBER ! ELSE 1 + CHANNEL-NUMBER ! ENDIF SEND_SETUP ENDIF }ACTION M#REL_COM ?L3_MSG ACTION{ }ACTION M#REST ?L3_MSG ACTION{ SEND_RESTART_ACK }ACTION M#REST_ACK ?L3_MSG ACTION{ }ACTION }STATE TM_RUN